package com.kjzy.controller;

import com.kjzy.pojo.User;
import com.kjzy.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

//@Controller+@ResponseBody
@RestController
@RequestMapping("/user")
//@Api注解用于类上，表示这个控制器属于“用户管理”分类
public class UserController {

    @Value("${server.port}")
    private String serverPort;

    @Autowired
    private UserService userService;
//    查询所有用户信息
//    @RequestMapping(method=RequestMethod.GET)
    @GetMapping
//    @ApiOperation: 用于描述接口的功能
    public List<User> getAllUsers(){
        return  userService.getAllUsers();
    }


    //    通过id查询用户信息
//    @RequestParam：将请求参数绑定到你控制器的方法参数上
//    @RequestMapping("/getUser")
//      @PathVariable：spring3.0的一个新功能：接收请求路径中占位符的值
//通过 @PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中。
// 其中id为路径变量
    @GetMapping("/{id}")
    public User getUser(@PathVariable("id") int id) throws InterruptedException {
        System.out.println("用户服务端口号："+serverPort);
//        模拟业务延迟
        Thread.sleep(500);
        return userService.getUser(id);
    }



}
